
package com.xiaoma.myaudience.util.model;


import java.util.HashMap;
import java.util.Map;

/**
 * 请求结果封装类
 * 
 * @author wjying
 */
public class ReqResultUtils {
    /** 网络请求数据 */
    public static final String REQ_RESULT_DATA = "REQ_result_data";

    /** 网络请求结果 */
    public static final String REQ_RESULT_TYPE = "REQ_result_type";

    /** 网络请求成功 */
    public static final int SUCCESS = 0;

    /** 网络请求失败 */
    public static final int ERR = 1;

    /** 网络请求失败，失败原因网络 */
    public static final int ERR_NET = 2;

    /** 网络请求失败，失败原因数据格式 */
    public static final int ERR_FORMAT = 3;

    /**
     * 包装请求结果
     * 
     * @param type
     * @param data
     * @return
     */
    public static Map<String, Object> wrapResult(int type, Object data) {
        Map<String, Object> result = new HashMap<String, Object>();
        result.put(REQ_RESULT_TYPE, type);
        result.put(REQ_RESULT_DATA, data);
        return result;
    }

    /**
     * 请求是否成功
     * 
     * @param result
     * @return
     */
    public static boolean isSuccess(Map<String, Object> result) {
        return SUCCESS == getResultType(result);
    }

    /**
     * 取得请求结果类型
     * 
     * @param result
     * @return
     */
    public static int getResultType(Map<String, Object> result) {
        return ModelUtils.getIntValue(result, REQ_RESULT_TYPE, ERR);
    }

    /**
     * 取得请求结果数据
     * 
     * @param result
     * @return
     */
    public static Object getResultData(Map<String, Object> result) {
        return ModelUtils.getValue(result, REQ_RESULT_DATA);
    }
}
